#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QPushButton>
#include <QAction>
#include <QLineEdit>
#include "materialtypelist.h"
#include "materiallist.h"
#include "recordlist.h"
#include "recorddetail.h"
#include "virtualkeyboard.h"
#include "floatbutton.h"


class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = nullptr);
    ~MainWindow();

private:
    void setupUI();
    void applyStyles();
    void setupConnections();

private:
    QPushButton * settingButton;
    QAction* printerInfoAction;
    QAction* batchExpiredAction;
    QAction* passwordAction;
    QAction* exitAction;
    QLineEdit* filterEdit;
    VirtualKeyboard* keyboard;
    MaterialTypeList* materialTypeList;
    MaterialList* materialList;
    RecordList* recordList;
    RecordDetail* recordDetail;

    FloatButton* floatButton;

protected:
    void closeEvent(QCloseEvent *event) override;

};
#endif // MAINWINDOW_H
